/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.faesa.acervo.view.mbeans;

import br.faesa.acervo.business.ejb.CadastroBasicoSessionBeanLocal;
import br.faesa.acervo.entity.Livro;
import br.faesa.acervo.entity.LivroTipo;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author aluno.faesa
 */
@ManagedBean(name = "livroCadastroForm")
@ViewScoped
public class LivroCadastroFormBean implements Serializable {

    private Long id;
    private Long idLivroTipo;
    private String titulo;
    private String isbn;
    private Date dataPublicacao;
    private List<LivroTipo> livroTipos;
    
    public Long getId() { return id; }
    public Long getIdLivroTipo() { return idLivroTipo; }
    public String getTitulo() { return titulo; }
    public String getIsbn() { return isbn; }
    public Date getDataPublicacao() { return dataPublicacao; }
    public List<LivroTipo> getLivroTipos() { return livroTipos; }
    
    public void setId(Long id) { this.id = id; }
    public void setIdLivroTipo(Long idLivroTipo) { this.idLivroTipo = idLivroTipo; }
    public void setTitulo(String titulo) { this.titulo = titulo; }
    public void setIsbn(String isbn) { this.isbn = isbn; }
    public void setDataPublicacao(Date dataPublicacao) { this.dataPublicacao = dataPublicacao; }
    public void setLivroTipos(List<LivroTipo> livroTipos) { this.livroTipos = livroTipos; }
    
    @EJB
    private CadastroBasicoSessionBeanLocal ejbDAO;
    
    public LivroCadastroFormBean() { }
    
    @PostConstruct
    public void init()
    {
        this.setLivroTipos(ejbDAO.obterLivrosTipo());
    }
    
    public String onBotaoOKClick()
    {
        Livro livro = new Livro();
        
        LivroTipo livroTipo = new LivroTipo();
        livroTipo.setId(this.idLivroTipo);
        
        livro.setIsbn(isbn);
        livro.setTipo(livroTipo);
        livro.setTitulo(titulo);
        livro.setDataPublicacao(dataPublicacao);
        
        ejbDAO.salvarLivro(livro);
        
        System.out.print(livro.getId());
        System.out.print(livro.getIsbn());
        
        FacesUtils.info("Livro Cadastrado com Sucesso!");
        
        return "/livroConsultaForm.xhtml";
    }
    
}
